// 音乐
import { parseBuffer } from 'music-metadata'
import { Buffer } from 'buffer'

const audioPlayer = new Audio()
export const playAudio = async (filePath) => {
  const result = await window.api.getFileDataByFilePath(filePath)
  audioPlayer.src = result.base64Data
  audioPlayer.play()
  return audioPlayer
}

// {
//   title: "歌曲名",       // 标题
//   artist: "歌手名",      // 艺术家
//   album: "专辑名",       // 专辑
//   year: "2023",         // 年份
//   track: { no: 1, of: 12 }, // 当前曲目编号/总曲目数
//   disk: { no: 1, of: 1 },   // 光盘编号
//   genre: ["Pop"],       // 流派（数组）
//   picture: [            // 封面图片（可能有多个）
//     {
//       format: "image/jpeg",
//       data: Buffer,     // 图片二进制数据
//     }
//   ],
//   comment: ["注释"],    // 注释
// }
//获取音乐信息
export const getAudioInfo = async (filePath) => {
  const result = await window.api.getFileBufByFilePath(filePath)
  try {
    const metadata = await parseBuffer(result.buffer, {
      mimeType: 'audio/mpeg', // 手动指定类型（如 'audio/mp3', 'audio/flac'）
      path: filePath,
      skipCovers: false,
      native: true // 保留原始标签信息
    })
    console.log('metadata', metadata)

    return {
      title: metadata.common.title || '未知',
      artist: metadata.common.artist || '未知',
      album: metadata.common.album || '未知',
      duration: metadata.format.duration?.toFixed(2) + '秒' || '未知',
      bitrate: `${Math.floor(metadata.format.bitrate / 1000)} kbps`,
      cover: metadata.common.picture?.[0]?.data, // 封面二进制
      raw: metadata // 完整原始数据（调试用）
    }
  } catch (err) {
    console.error('解析失败:', err)
    return null
  }
}
